"""
配置信息：
1.数据库配置
2.redis配置
3.session配置:主要用于保存用户登陆信息
4.csrf配置  :当修改服务器资源时候保护(post,put,delete,dispatch)
5.日志文件:记录程序运行的过程，如果使用print来记录，控制台没有保存数据，线上上线print不需要打印
6.迁移配置
"""
# from flask import Flask,session
# from flask_sqlalchemy import SQLAlchemy
# from flask_session import Session #用来指定session保存数据的位置
# import redis
import logging
from flask_script import Manager
from flask import current_app
from flask_migrate import Migrate,MigrateCommand

from info import create_app,db
# from config import Config
# from flask_wtf.csrf import CSRFProtect
# app=Flask(__name__)
app=create_app('develop')
# class Config(object):
#     #设置秘钥
#     SECRET_KEY='JSJDIIIDS'
#     SQLALCHEMY_DATABASE_URL='mysql://root:mysql@localhost:3306/information2'
#     SQLALCHEMY_TRACK_MODIFICATIONS=False
#     #redis配置
#     REDIS_HOST='127.0.0.1'
#     REDIS_PORT=6379
#
#     #设置session配置信息
#     SESSION_TYPE='redis'      #保存类型
#     SESSION_USE_SIGNER=True     #签名存储
#     SESSION_REDIS=redis.StrictRedis(host=REDIS_HOST,port=REDIS_PORT)
#     PERMANENT_SESSION_LIFETIME=3600*24*2     #设置存储时间为2天，单位秒
#
# app.config.from_object(Config)
# db=SQLAlchemy(app)
# #创建redis对象
# redis_store=redis.StrictRedis(host=Config.REDIS_HOST,port=Config.REDIS_PORT,decode_responses=True)
#
# #初始化session
# Session(app)
# # @app.route('/')
# #设置应用程序csrf保护状态
# CSRFProtect(app)
#配置数据库迁移
manager= Manager(app)
Migrate(app,db)
manager.add_command('db',MigrateCommand)






@app.route('/',methods=['GET','POST'])
def hello_world():
    #测试redis
    # redis_store.set('name','zs')
    #测试session
    # session['name']='bz'
    # return 'helloworld'
    logging.debug('调试信息')
    logging.info('详细信息!!')
    logging.warning('警告信息')
    logging.error('错误信息')

    # 上面四句话可以写成如下形式,使用current_app,多了分割线,但是在文件中输出的内容完全一样
    # current_app.logger.debug('调试信息++')
    # current_app.logger.info('详细信息!!++')
    # current_app.logger.warning('警告信息++')
    # current_app.logger.error('错误信息++')
    return "helloworld"
if __name__ == '__main__':
    manager.run()